/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package zachowania.potwor;

import obiekty.Potwor;
import prostagra.Mapa;

/**
 *Zachowanie opisujące poszukiwanie i błądzenie
 * @author m
 */
public class Szukaj extends StanPotwora
{

    @Override
    public void wykonaj(Potwor o)
    {
        if (o.getGrupa() == null || o.getGrupa().getPrzywodca().equals(o))
        {

            o.setIdzDo(Mapa.getInstance().getGracz().getPozycja());
            boolean znaleziono = o.szukajCelu();

            if (znaleziono)
            {
                o.zmienStan(new ScigajGracza());

                if (o.getGrupa() != null)
                {
                    synchronized (o.getGrupa().getListaObiektow())
                    {
                        for (int i = 0; i < o.getGrupa().getListaObiektow().size(); i++)
                        {
                            ((Potwor) o.getGrupa().getListaObiektow().get(i)).zmienStan(new ScigajGracza());
                        }
                    }
                }
            }
        } else
        {
            o.zmienStan(new IdzZaPrzywodca());
        }
    }
}
